package com.fiap.gestaoPassagens.venda;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fiap.gestaoPassagens.cliente.ClienteBean;
import com.fiap.gestaoPassagens.voo.VooBean;

public class ReservaBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static final int STATUS_RESERVADO = 0;
	public static final int STATUS_PAGO = 1;
	public static final int STATUS_CANCELADO = 2;

	private long id;
	private VooBean vooComprado;
	private ClienteBean responsavelPagto;
	private List<ItemReservaBean> listaPassageiros;
	private Date dataPagamento;
	private Date dataReserva;
	private int statusReserva;

	public ReservaBean() {

	}

	public ReservaBean(VooBean v, ClienteBean c) {
		this.vooComprado = v;
		this.responsavelPagto = c;
		this.listaPassageiros = new ArrayList<ItemReservaBean>();
	}

	public Date getDataPagamento() {
		return dataPagamento;
	}

	public void setDataPagamento(Date dataPagamento) {
		this.dataPagamento = dataPagamento;
	}

	public Date getDataReserva() {
		return dataReserva;
	}

	public void setDataReserva(Date dataReserva) {
		this.dataReserva = dataReserva;
	}

	public int getStatusReserva() {
		return statusReserva;
	}

	public void setStatusReserva(int statusReserva) {
		this.statusReserva = statusReserva;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public VooBean getVooComprado() {
		return vooComprado;
	}

	public void setVooComprado(VooBean vooComprado) {
		this.vooComprado = vooComprado;
	}

	public ClienteBean getResponsavelPagto() {
		return responsavelPagto;
	}

	public void setResponsavelPagto(ClienteBean responsavelPagto) {
		this.responsavelPagto = responsavelPagto;
	}

	public List<ItemReservaBean> getListaPassageiros() {
		return listaPassageiros;
	}

	public void setListaPassageiros(List<ItemReservaBean> listaPassageiros) {
		this.listaPassageiros = listaPassageiros;
	}

	public BigDecimal getValorTotalReserva() {
		BigDecimal valorTotal = new BigDecimal(0);

		for (ItemReservaBean i : this.listaPassageiros) {
			for (ItemCobrancaBean cobranca : i.getListaValorDevidos()) {
				valorTotal.add(cobranca.getValorCobranca());
			}
		}

		return valorTotal;
	}

}
